package com.dyj.goodlife.domain.query;

import com.dyj.common.domain.query.BaseQuery;
import com.dyj.goodlife.domain.SaveCommissionProductItem;

import java.util.List;

public class SaveCommissionQuery extends BaseQuery {

    /**
     * 商服合作订单id，在创建商服合作时返回：/goodlife/v1/partner/order/create/
     */
    private String order_id;
    /**
     * 商品佣金配置明细列表，每次最多50 选填
     */
    private List<SaveCommissionProductItem> product_items;

    public String getOrder_id() {
        return order_id;
    }

    public SaveCommissionQuery setOrder_id(String order_id) {
        this.order_id = order_id;
        return this;
    }

    public List<SaveCommissionProductItem> getProduct_items() {
        return product_items;
    }

    public SaveCommissionQuery setProduct_items(List<SaveCommissionProductItem> product_items) {
        this.product_items = product_items;
        return this;
    }

    public static SaveCommissionQueryBuilder builder() {
        return new SaveCommissionQueryBuilder();
    }

    public static final class SaveCommissionQueryBuilder {
        private String order_id;
        private List<SaveCommissionProductItem> product_items;
        private Integer tenantId;
        private String clientKey;

        private SaveCommissionQueryBuilder() {
        }

        public SaveCommissionQueryBuilder orderId(String orderId) {
            this.order_id = orderId;
            return this;
        }

        public SaveCommissionQueryBuilder productItems(List<SaveCommissionProductItem> productItems) {
            this.product_items = productItems;
            return this;
        }

        public SaveCommissionQueryBuilder tenantId(Integer tenantId) {
            this.tenantId = tenantId;
            return this;
        }

        public SaveCommissionQueryBuilder clientKey(String clientKey) {
            this.clientKey = clientKey;
            return this;
        }

        public SaveCommissionQuery build() {
            SaveCommissionQuery saveCommissionQuery = new SaveCommissionQuery();
            saveCommissionQuery.setOrder_id(order_id);
            saveCommissionQuery.setProduct_items(product_items);
            saveCommissionQuery.setTenantId(tenantId);
            saveCommissionQuery.setClientKey(clientKey);
            return saveCommissionQuery;
        }
    }
}
